package cn.openea.perpartner.crm.web.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Set;

/**
 * 角色信息表(CrmRole)表实体类
 *
 * @author Weird077
 * @since 2022-12-19 22:30:36
 */
@Data
public class CrmRole implements Serializable {
    private static final long serialVersionUID = 1L;
    //角色ID
    private Long roleId;
    //角色名称
    private String roleName;
    //角色权限字符串
    private String roleKey;
    //显示顺序
    private Integer roleSort;
    //数据范围（1：全部数据权限 2：自定数据权限 3：本部门数据权限 4：本部门及以下数据权限）
    private String dataScope;
    //菜单树选择项是否关联显示
    private boolean menuCheckStrictly;
    //角色状态（0正常 1停用）
    private String status;
    //删除标志（0代表存在 2代表删除）
    private String delFlag;
    //创建者
    private String createUser;
    //创建时间
    private Date createTime;
    //更新者
    private String updateUser;
    //更新时间
    private Date updateTime;
    //备注
    private String remark;

    @TableField(exist = false)
    /** 用户是否存在此角色标识 默认不存在 */
    private boolean flag = false;
    @TableField(exist = false)
    /** 菜单组 */
    private Long[] menuIds;
    @TableField(exist = false)
    /** 角色菜单权限 */
    private Set<String> permissions;

    public boolean isAdmin()
    {
        return isAdmin(this.roleId);
    }

    public static boolean isAdmin(Long roleId)
    {
        return roleId != null && 1L == roleId;
    }
    }

